package com.techstar.mqttprocesser.service.mqtt.utils;

import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;

/**
 * @author lilei
 * @create 2025-04-03-2025/4/3
 */
public class TimeUtils {

    //YYYY-MM-DD HH:mm:ss转为LocalDateTime
    public static LocalDateTime formatDateTime(String dateTime,String pattern) {
        // 创建一个 DateTimeFormatter 对象，使用传入的 pattern 格式
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern);

        // 使用 formatter 将字符串解析为 LocalDateTime 对象
        return LocalDateTime.parse(dateTime, formatter);
    }

    //时间戳转为LocalDateTime
    public static LocalDateTime formatDateTime(long timestamp) {
        // 将时间戳转换为 Instant
        Instant instant = Instant.ofEpochMilli(timestamp);
        // 获取系统默认时区
        ZoneId zoneId = ZoneId.systemDefault();
        // 将 Instant 转换为 LocalDateTime
        return LocalDateTime.ofInstant(instant, zoneId);
    }

    public static void main(String[] args) {
        String dateTime = "2025-04-03 17:13:53";
        String pattern = "yyyy-MM-dd HH:mm:ss";
        LocalDateTime localDateTime = formatDateTime(dateTime, pattern);
        System.out.println(localDateTime); // 输出：2025-04-03T17:13:53
    }

}
